{0.10002 x 2-3, 0.10012 x 2-3, , 0.11102 x 24, 0.11112 x 24}
Conjunto de todos los números reales positivos de la forma
n pertenece al conjunto {-3,-2,-1,0,1,2,3,4}.
Por ejemplo que pasaría si en nuestra computadora de 4 cifras como describimos en los párrafos anteriores se realiza la operación (1/10 + 1/5) + 1/6? . Supongamos además que nuestra computadora redondea todos los números reales al número binario más próximo de los que dispone.
La computadora debe decidir ahora cómo almacenar el número 1.00111(2) x 2-2 . Supongamos que se redondea como 0.1010(2) x 2-1 . El paso siguiente es
Ahora la computadora decide como almacenar el número 0.11111(2) x 2-1. Puesto que suponemos que redondea, almacena 0.1000(2) x 20 . Por lo tanto, la solución a nuestro problema original es
El error en el cálculo efectuado por la computadora es
Equivalente a un error del 7% aproximadamente !!…
(1/10 + 1/5) + 1/6 =? 1/10 + (1/5 + 1/6)
.
Utilizando polinomios de Taylor analice el valor de exp(x) en funcion del numero de términos retenidos en la serie
exp(1)
(6 cifras significativas):
Ejemplo ERROR DE REDONDEO
x2 + 62.10 x + 1 = 0
Raíces aproximadas (7 cifras significativas):
x1 = -0.01610723 , x2 = -62.08390
Soluciones:
Usando aritmética de 4 cifras (para forzar el error):
Calculamos
x1 y x2
Considere la serie de Taylor para el seno(x)
Para pequeños valores de x, solo un reducido numero de términos es necesario para obtener un buena solución.
Valor verdadero = Valor suma + Error de truncamiento
El valor del Error de truncamiento depende de x y del número de términos incluidos en Valor suma
Ejemplo ERROR DE TRUNCAMIENTO
Se puede demostrar que para cualquier serie alternante convergente el error de truncamiento es menor que el primer término despreciado
Nótese que valores de x mayores a 0.5 aprox. el error aumenta rápidamente cuando x tiende a 1. El error máximo es de 3.54e-06, lo cual esta en acuerdo con el error de truncamiento expresado anteriormente.
En el caso de utilizar 5 términos siempre
Si usamos 15 términos
El error por redondeo está controlando el comportamiento. Nótese de todas formas se logra todavía un resultado aceptable en el valor de la serie
sin(pi/6)
Error de truncamiento
sin(13pi/6)
Potencia .vs. factorial
potencia (x=pi/6)
potencia
(x=13pi/6)
TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA
Estos tres valores definen el rango de números disponibles y la precisión de nuestra computadora
realmax := máximo número (normalizado) ? 21024 ? 1.8E+308
realmin := minimo número (normalizado) ? 2-1022 ? 2.2E-308
? valor positivo mas pequeño de forma tal que sumado a 1 se obtenga como resultado un valor mayor que 1
eps = ? = 0.00
..12 x 20 = 2-52 ? 2.2E-16
# número de dígitos binarios = – log2(eps) = 52
# número de dígitos decimales = – log10(eps) ? 15.6
PROGRAM MACHINE_EPSILON
IMPLICIT NONE
REAL * 8 :: machEps = 1, tmp =1
PRINT *, "currEp, 1 + currEp"
DO
PRINT *, machEps, tmp + machEps
IF (tmp + machEps == 1.0) EXIT
machEps = machEps/2.0
END DO
machEps = machEps*2
PRINT *
PRINT *, "Calculated Machine epsilon: ", machEps
! Verify our calculation via the intrinsic F95 function EPSILON()
PRINT *, "EPSILON(x) = ", EPSILON(machEps)
END PROGRAM MACHINE_EPSILON
TRES ERRORES DE REDONDEO CRÍTICOS
Cancelación
Underflow
Overflow
sustracción de dos números casi iguales
resultado más pequeño que realmin
resultado más grande que realmax
25 de Febrero 1991. Falla en el sistema de defensa Patriot (Irak) Reporte GAO/IMTEC-92-26. Problema de software razón acumulación de errores de redondeo.
4 de Junio 1996. El cohete Ariane se auto destruye la corto tiempo del despegue. Causa del desastre un error de overflow.
1997 un error de redondeo es descubierto en los procesadores Pentium-II. Problema no solo de imagen de la empresa (INTEL) sino el costo del reemplazo de un gran numero de procesadores defectuosos.
Errores
Algunos datos
Ejemplo ERROR DE TRUNCAMIENTO
Compare el resultado exacto (provisto por la función de librería) de:
= 0.544987104184
con el que se obtiene al integrar los primeros términos de la serie asociada al integrando.
Problema para el laboratorio
Escriba un programa que le permita calcular el valor del coseno aproximándolo por su desarrollo en polinomios de Taylor alrededor de cero en orden creciente desde 1 hasta 4. Realice los cálculos para valores cercanos a 0, ?/2 y ?/4.
Ejemplo ERROR DE REDONDEO
x2 + 62.10 x + 1 = 0
Raíces aproximadas (7 cifras significativas):
x1 = -0.01610723 , x2 = -62.08390
Resolver la ecuación cuadrática
Problema para el laboratorio
Escriba un programa para sumar 0.00001 diez mil veces a la unidad usando simple precisión. Compare el resultado con el que se obtiene si implementa una estrategia de agrupamiento o si lo resuelve utilizando doble precisión.
Página anterior | Volver al principio del trabajo | Página siguiente |